package com.xoms.admin.service;

import com.xoms.admin.controller.res.bean.RHaveResourcesBean;
import com.xoms.admin.controller.res.bean.RResourceBean;
import com.xoms.admin.model.AccountBean;
import com.xoms.admin.service.res.PageResult;

/**
 * 权限资源业务
 * 
 * @author chengl
 *
 */
public interface ResourceService {
	
	/**
	 * 获取账号资源列表
	 * @param account
	 * @param accid
	 * @return
	 */
	PageResult<RHaveResourcesBean> getAccountResources(AccountBean account, String accid);	
	
	/**
	 * 新建/编辑权限
	 * @param account
	 * @param rid
	 * @param name
	 * @param parentId
	 * @param url
	 * @param type
	 * @param level
	 * @param isEnable
	 * @param resDesc
	 * @param sort
	 * @return
	 */
	RResourceBean edit(AccountBean account, int rid, String name, int parentId, String url, int type, int level,
			int isEnable, String resDesc, int sort);
	
	/**
	 * 启用权限
	 * @param account
	 * @param rid
	 * @return
	 */
	boolean enable(AccountBean account, int rid);
	
	/**
	 * 禁用权限
	 * @param account
	 * @param rid
	 * @return
	 */
	boolean disable(AccountBean account, int rid);
	
	/**
	 * 删除权限
	 * @param account
	 * @param rid
	 * @return
	 */
	boolean del(AccountBean account, int rid);
	
	/**
	 * 获取权限列表
	 * @param account
	 * @param key
	 * @param page
	 * @param pagesize
	 * @return
	 */
	PageResult<RResourceBean> getResources(AccountBean account, String key, int page, int pagesize);
	
	/**
	 * 根据角色id获取权限列表
	 * @param account
	 * @param roleId
	 * @return
	 */
	PageResult<RHaveResourcesBean> getRoleResources(AccountBean account, int roleId);
	
	/**
	 * 编辑权限顺序
	 * @param sorts
	 * @param page
	 * @param pagesize
	 * @return
	 */
	boolean editSorts2Resource(String sorts, int page, int pagesize);

}
